package com.giantlizard.cloud.system.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.util.Date;

/**
 * 系统-字典
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@EqualsAndHashCode
@TableName("sys_dict")
@ApiModel(value="SysDict对象", description="系统-字典")
public class SysDict implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "字典编码")
    @TableField("DICT_CODE")
    private String dictCode;

    @ApiModelProperty(value = "字典值")
    @TableField("DICT_VALUE")
    private String dictValue;

    @ApiModelProperty(value = "字典名")
    @TableField("DICT_NAME")
    private String dictName;

    @ApiModelProperty(value = "字典类型")
    @TableField("DICT_TYPE")
    private String dictType;

    @ApiModelProperty(value = "显示顺序")
    @TableField("ORDER_NO")
    private Integer orderNo;

    @ApiModelProperty(value = "状态 0启用 1停用")
    @TableField("DICT_STATUS")
    private String dictStatus;

    @ApiModelProperty(value = "内部ID")
    @TableId("id")
    private String id;

    @ApiModelProperty(value = "备注")
    @TableField("remarks")
    private String remarks;

    @ApiModelProperty(value = "排序")
    @TableField("sn")
    private Integer sn;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    @ApiModelProperty(value = "创建用户姓名")
    @TableField("creatorname")
    private String creatorname;

    @ApiModelProperty(value = "创建用户")
    @TableField("create_by")
    private String createBy;

    @ApiModelProperty(value = "最后修改时间")
    @TableField("update_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateDate;

    @ApiModelProperty(value = "最后修改用户姓名")
    @TableField("modifiername")
    private String modifiername;

    @ApiModelProperty(value = "最后修改用户")
    @TableField("update_by")
    private String updateBy;

    @ApiModelProperty(value = "删除标志")
    @TableField("del_flag")
    private String delFlag;

    @ApiModelProperty(value = "数据状态0草稿、1审批中、2已通过、3已锁定、-1已废弃")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "数据状态名称")
    @TableField("status_name")
    private String statusName;

    @ApiModelProperty(value = "租户ID")
    @TableField("tenant_id")
    private String tenantId;

    @ApiModelProperty(value = "数据锁定状态 0-未锁定 1-锁定")
    @TableField("data_lock")
    private Integer dataLock;

    @ApiModelProperty(value = "数据版本")
    @TableField("version")
    private Integer version;
} 